<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
      xmlns:f="http://xmlns.jcp.org/jsf/core"
      xmlns:p="http://primefaces.org/ui">
    <ui:composition template="/template.xhtml">
        <ui:define name="title">
            <h:outputText value="Tipo de Actividad"></h:outputText>
        </ui:define>

        <ui:define name="cuerpo">
            <p:growl id="message" showDetail="true"/>
            <h:form id="form">
                <p:growl id="validacionMensaje" showDetail="true" autoUpdate="true"/>            
                <table width="100%" border="0">
                    <p:commandButton value="Crear nuevo" style="font-size: small" action="#{tipoActividadBean.cargarNuevo()}"
                                     update="@form:dlDialog" oncomplete="PF('dlDialogVar').show()"/>
                </table>
                <p:panel header="Administración de Tipo de Actividades" style="font-size: small">                    

                    <p:dataTable id="dtTipoActividades" var="item" value="#{tipoActividadBean.tipoActividades}" widgetVar="tablaTipoDatos"                                                                  
                                 emptyMessage="Sin Datos"
                                 style="margin-top: 10px; font-size: small"                                
                                 paginator="true" rows="10" rowKey="#{item.codTipoActividad}">
                        <f:facet name="header">
                            <p:outputPanel>
                                <h:outputText value="Buscar por todos los criterios:" />
                                <p:inputText id="globalFilter" onkeyup="PF('tablaTipoActividad').filter()" style="width:200px" 
                                             placeholder="Ingrese la palabra clave"/>
                            </p:outputPanel>
                        </f:facet>     


                        <p:column headerText="Actividad" filterBy="#{item.nombre}">
                            <div align="center">
                                <p:outputLabel  value="#{item.nombre}"/>
                            </div>
                        </p:column>

                        <p:column headerText="Subsistema" filterBy="#{item.subsistema.nombre}">
                            <div align="center">
                                <p:outputLabel value="#{item.subsistema.nombre}"/>
                            </div>
                        </p:column>

                        <p:column headerText="Herramientas" >                                                        
                            <div align="center">

                                <p:commandButton value="Modificar" action="#{tipoActividadBean.cargarModificar()}" update="@form:dlDialog" 
                                                 process="@this" oncomplete="PF('dlDialogVar').show()">
                                    <f:setPropertyActionListener value="#{item}" target="#{tipoActividadBean.tipoActividad}" />
                                </p:commandButton>  |

                                <p:commandButton value="Detalles" action="#{tipoActividadBean.cargarDetalle()}" update="@form:dlDialog" 
                                                 process="@this" oncomplete="PF('dlDialogVar').show()">
                                    <f:setPropertyActionListener value="#{item}" target="#{tipoActividadBean.tipoActividad}" />
                                </p:commandButton>                                

                            </div>
                        </p:column> 
                    </p:dataTable>       

                    <p:dialog dynamic="true" id="dlDialog" resizable="false" header="#{tipoActividadBean.tituloDialogo}" appendTo="@(body)" 
                              widgetVar="dlDialogVar" modal="true" showEffect="fade" hideEffect="fade">
                        <p:panel id="dlTipoActividades" style="text-align:center; font-size: small">
                            <p:panelGrid columns="2" rendered="#{not empty tipoActividadBean.tipoActividad}" columnClasses="label,value">

                                <p:outputLabel value="Actividad:" for="txtActividad"/>
                                <p:inputText id="txtActividad" value="#{tipoActividadBean.tipoActividad.nombre}" title="Actividad" 
                                             required="true" requiredMessage="El campo 'Actividad' es requerido" style="width: 200px"
                                             onkeyup="value = value.toUpperCase();"
                                             readonly="#{tipoActividadBean.soloLectura}"/>

                                <p:outputLabel  for="cmbSubSistema" value="Subsistema:" />
                                <p:selectOneMenu  style="width: 200px" filter="true" filterMatchMode="startsWith" 
                                                  disabled="#{tipoActividadBean.soloLectura}" id="cmbSubSistema" 
                                                  styleClass="menu" panelStyleClass="panel"
                                                  value="#{tipoActividadBean.tipoActividad.subsistema}" required="true" 
                                                  requiredMessage="El campo 'Subsistema' es requerido" >                
                                    <f:selectItem itemLabel="Seleccione..." itemValue="#{null}" noSelectionOption="true" />
                                    <f:selectItems value="#{subsistemaBean.subsistemas}" var="subsistema" 
                                                   itemLabel="#{subsistema.nombre}" itemValue="#{subsistema}"/>
                                    <f:converter converterId = "subsistemaConverter"/>                                     
                                </p:selectOneMenu> 

                                <p:outputLabel value="Descripción:" for="txtDescripcion"/>
                                <p:inputTextarea  style="width: 200px" id="txtDescripcion" value="#{tipoActividadBean.tipoActividad.descripcion}" title="Descripción"                                             
                                                  onkeyup="value = value.toUpperCase();"
                                                  readonly="#{tipoActividadBean.soloLectura}"/>

                                <p:outputLabel for="txtFechaCreacion" value="Fecha de creación" rendered="#{tipoActividadBean.soloLectura}"/>
                                <p:inputText id="txtFechaCreacion" value="#{tipoActividadBean.tipoActividad.fechaCreacion}" 
                                             rendered="#{tipoActividadBean.soloLectura}"
                                             style="width: 200px" readonly="#{tipoActividadBean.soloLectura}">

                                    <f:convertDateTime type="date" locale="es_EC" timeZone="America/Guayaquil"  
                                                       dateStyle="default" pattern="yyyy/dd/MM" />
                                </p:inputText>

                                <p:outputLabel value="Estado" for="chkEstado" rendered="#{tipoActividadBean.activarModificar || tipoActividadBean.soloLectura}"/>
                                <p:selectBooleanCheckbox id="chkEstado" value="#{tipoActividadBean.tipoActividad.estado}"
                                                         disabled="#{tipoActividadBean.soloLectura}" 
                                                         rendered="#{tipoActividadBean.activarModificar || tipoActividadBean.soloLectura}"/>
                            </p:panelGrid>
                            <div align="right">
                                <p:outputLabel value = "* Campos Obligatorios"/>
                            </div>
                            <br/>
                            <div align="center">
                                <p:commandButton rendered="#{tipoActividadBean.activarNuevo}" 
                                                 update=":form:dtTipoActividades,@form:dlDialog:dlTipoActividades"                                                 
                                                 action="#{tipoActividadBean.guardar()}" partialSubmit="true" process="@form:dlDialog"
                                                 value="Guardar" >                                  
                                    <p:confirm header="Confirmación" message="Esta seguro de guardar este registro?" icon="ui-icon-alert" />
                                </p:commandButton>                                
                            </div>
                            <div align="center">
                                <p:commandButton rendered="#{tipoActividadBean.activarModificar}" 
                                                 update=":form:dtTipoActividades,@form:dlDialog:dlTipoActividades"                                                 
                                                 action="#{tipoActividadBean.modificar()}" partialSubmit="true" process="@form:dlDialog"  
                                                 value="Modificar" >                                  
                                    <p:confirm header="Confirmación" message="Esta seguro de modificar este registro?" icon="ui-icon-alert" />
                                </p:commandButton>                                  
                            </div> 
                        </p:panel>
                    </p:dialog>
                </p:panel>
                <p:confirmDialog style="font-size: small" global="true" showEffect="fade" hideEffect="explode">
                    <p:commandButton value="Si" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
                    <p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
                </p:confirmDialog>
            </h:form>  
        </ui:define>
    </ui:composition>
</html>
